package com.yupi.sqlfather.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yupi.sqlfather.model.entity.DataSource;

/**
 * 数据源服务
 */
public interface DataSourceService extends IService<DataSource> {

    /**
     * 测试数据源连接
     *
     * @param dataSource 数据源信息
     * @return 是否连接成功
     */
    boolean testConnection(DataSource dataSource);

    /**
     * 校验数据源信息
     *
     * @param dataSource 数据源信息
     * @param add 是否为创建校验
     */
    void validDataSource(DataSource dataSource, boolean add);

    /**
     * 执行SQL
     *
     * @param dataSourceId 数据源ID
     * @param sql SQL语句
     * @return 执行结果
     */
    Object executeSql(Long dataSourceId, String sql);
}